

typedef struct 
{
	char file_name[20];
	char location_path[100];
	char file_type[10];
	int file_size;
	int block_number;
	
}file_descriptor;

typedef struct 
{
	int max_no_file_descriptors;
	int max_no_blocks;
	char label[20];
	int no_used_file_descriptors;
	int no_used_blocks;
	int headersize;
}main_header;

	
	


struct block
{
	int block_id;
	char buffer[1000];
};

typedef struct
{
	int a;
}freelist;

typedef struct
{
	int b;
}blocklist;

typedef struct node{
        char data[50];
        int index;
        struct node* lchild;
        struct node* rchild;
        struct node* parent;
} node;

main_header *main_header_var;
file_descriptor *fd;

freelist *fl;
blocklist *bl;

int size;
int bl_size;
node *root;
struct list{
	char filename[20];
	char pathname[300];
	struct list * next;
}; 

struct list *hash_table[63];

typedef struct bstnode 
{
	char data[300]; 
	int index;
	
        struct bstnode *left,*right; 
}bstnode; 
        
struct bstnode *bstroot;

char mounted_vfs[30];
char *str;













